/***************************************************************
 * FILENAME:  lcd3200.h
 * AUTHOR:    zimmermane@msoe.edu <Evan Zimmerman>
 *			  duerk@msoe.edu <Kevin Duer>
 * DATE:      10 Sept 2012
 * PROVIDES:  
 *    - header file for LCD Device Driver 
 *    - Contains subroutines and functions for the LCD
 **************************************************************/
#ifndef LCD_DRIVER
#define LCD_DRIVER

/*
 * lcd_init
 * Purpose: Initializes the LCD display
 *			Default: LCD on, Cursor off, No blink
 * Parameters: None
 * Returns: None
 */
void lcd_init(void); 

/*
 * lcd_gotoxy
 * Purpose: Moves to a specific location on the LCD panel
 * Parameters: Row: 0-1
 *			   Column 0-15
 * Returns: None
 */
void lcd_gotoxy(unsigned char row, unsigned char column);

/*
 * lcd_init_heartbeat_icon
 * Purpose: Initializes a heart icon to the first custom character slot
 * Parameters: None
 * Returns: None
 */
void lcd_init_heartbeat_icon(void);

/*
 * lcd_init_antenna_icons
 * Purpose: Initializes antenna icons
 *			third custom character slot: antenna on
 *			fifth custom character slot: antenna off
 * Parameter: None
 * Returns: None
 */
void lcd_init_antenna_icons(void);

/*
 * lcd_send_data
 * Purpose: sends a byte to the udr to be transmitted
 * Parameters: theData: byte to be sent to the UDR
 * Returns: None
 */
void lcd_send_data(unsigned char theData);

/*
 * lcd_ascii_convert_send
 * Purpose: uses the itoa method to convert a value to ascii,
 *			then sends it to the LCD panel
 *			desired location must be set before calling this subroutine
 * Parameters: value: the value to be converted to ascii characters
 * Returns: None
 */
void lcd_ascii_convert_send(unsigned char value);

/*
 * lcd_send_string
 * Purpose: sends a string to the LCD
 * Parameters: str: the string to be sent
 * Returns: None
 */
void lcd_send_string(unsigned char * str);

#endif
